<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
<script>


  // 全部调用的引用都可以持有
  var TreeJS = {

    init: function (HTMLElement, config) {
      let treeInstance
      try {
        let checkVersion = argumentsCheck(HTMLElement,config,function () {

        })
        // 根据参数的不同来执行不同的处理
        // let treeInstance = new tree()
        switch (checkVersion){
          case '001':
            break;
          case '002':
            break;
            //默认都会执行的属性
          default:
            this.countNumber += 1
            this.countArray.push(treeInstance)
            break;
        }


      } catch (e) {
            //错误日志处理
            console.error('处理 错误日志')
      } finally {
        return treeInstance;
      }
    },
    /**
     *
     * @param HTMLElement   检查参数1
     * @param config        检查参数2
     * @param callback      检查完毕参数回调
     */
    argumentsCheck:function (HTMLElement,config,callback) {
        console.log('检查分类，检查到不同类型，返回不同参数')
    },
    // 定义初始化tree的方法
    tree: function () {
      data:'data'
      function sayData () {
        console.log(this.data)
      }


      tree.prototype = {
        'version': '1.0'
      }
    }

  }

  (function treeJS (global) {
        // 初始化树形结构
        var Tree = function () {

        }
        global.tree = Tree;
  })(window)

</script>
</body>
</html>